import languages.Language;

public class Case {
    
	public String toString() {
		return "Case [teamSize=" + teamSize + ", webBased=" + webBased
				+ ", crossPlatform=" + crossPlatform + ", databaseSize="
				+ databaseSize + ", expectedUsers=" + expectedUsers
				+ ", testsRequired=" + testsRequired + ", linesOfCode="
				+ linesOfCode + ", effortDays=" + effortDays
				+ ", teamExperience=" + teamExperience + ", language="
				+ language + "]";
	}
	public String toFileString(){
//		# Team Size, Web-based (Y/N), Cross-platform (Y/N), DB-size (MB), Expected users 
//		# Language (1-5, where 1: C, 2: Java, 3: Python, 4: Ruby, 5: Scala), Test Required (0-10), KLOC, Effort days, Experience (0-10)
//		10; Y; N; 200; 4200; 2; 4; 2000; 720; 3
		String web = "N";
		if(webBased){
			web = "Y"; 
		}
		String cross = "N";
		if(crossPlatform){
			cross = "Y";
		}
		
		
		
		return "\n" + teamSize + "; " + web + "; " + cross + "; " + databaseSize + "; " + expectedUsers + "; " + language.getIntRepresentive() + "; " + testsRequired + "; " + linesOfCode + "; " + effortDays + "; " + teamExperience;
	}

	int teamSize;
    boolean webBased;
    boolean crossPlatform;
    long databaseSize;
    int expectedUsers;
    int testsRequired;
    long linesOfCode;
    int effortDays;
    int teamExperience;
    Language language;

    public Case(
        int teamSize,
        boolean webBased,
        boolean crossPlatform,
        long databaseSize,
        int expectedUsers,
        int testsRequired,
        long linesOfCode,
        int effortDays,
        int teamExperience,
        Language language
    ) {
        this.teamSize = teamSize;
        this.webBased = webBased;
        this.crossPlatform = crossPlatform;
        this.databaseSize = databaseSize;
        this.crossPlatform = crossPlatform;
        this.expectedUsers = expectedUsers;
        this.testsRequired = testsRequired;
        this.linesOfCode = linesOfCode;
        this.effortDays = effortDays;
        this.teamExperience = teamExperience;
        this.language = language;
    }
}
